package com.ruoyi.swla2.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 大用户档案业务对象 t_terminal
 *
 * @author TsingYu
 * @date 2025-03-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class TerminalBo extends DeviceBo {

    /**
     * 大用户表主键
     */
    private Long deviceId;

    /**
     * 表编号
     */
    private String deviceNo;

    /**
     * 厂家表主键
     */
    private Long supplierId;

    /**
     * 表种类
     */
    private String deviceKind;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 表底数
     */
    private Long baseReading;

    /**
     * 安装日期
     */
    private Date installDate;

    /**
     * 安装地址
     */
    private String installAddr;

    /**
     * imei
     */
    private String imei;

    /**
     * sim卡类型
     */
    private String simType;

    /**
     * sim卡号
     */
    private String simNumber;

    /**
     * 是否带阀控(0：否，1：是)
     */
    private String valveControl;

    /**
     * 阀门地址
     */
    private String valveAddress;

    /**
     * 月冻结日期1-28
     */
    private Long freezedateMonth;

    /**
     * 出厂日期
     */
    private Date manufactureDate;

    /**
     * 口径大小
     */
    private String caliber;

    /**
     * 采集频率(分钟)
     */
    private Long readingFrequency;

    /**
     * 上传频率(分钟)
     */
    private Long upFrequency;

    /**
     * 表状态
     */
    private String deviceStatus;

    /**
     * 位置识别编号
     */
    private Long locationNb;

    /**
     * 通讯地址
     */
    private String commAddr;

    /**
     * 计量电压类型
     */
    private String voltageType;

    /**
     * 计量电压
     */
    private Long meteredVoltage;

    /**
     * aep平台的唯一码
     */
    private String aepId;

    /**
     * 是否带压力功能(1为是,0为否)
     */
    private String pressureDisplay;

    /**
     * 用户编号
     */
    private Long deviceUserId;

    /**
     * 表册主键
     */
    private Long sheetId;

    /**
     * 通讯类型，数据字典获取，TCP,UDP，MQTT
     */
    private String commType;

    /**
     * 区域主键
     */
    private Long deptId;

    /**
     * 备注
     */
    private String remark;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    private BigDecimal instantNumber;

    private BigDecimal instantVelocity;

    private BigDecimal pressure;
}
